package com.version1_1.service;

import com.alibaba.fastjson.JSONObject;

public interface UserService {

    /**
     * @param @param  telnumber
     * @param @param  mail
     * @param @param  password
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: userRegister
     * @Description: TODO(用户注册)
     */
    public String userRegister(String telnumber, String mail, String password);

    /**
     * @param @param  userId
     * @param @param  mail
     * @param @param  password
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: userLogin
     * @Description: TODO(用户登陆)
     */
    public String userLogin(int userId, String mail, String telnumber, String password,String baiduId);

    /**
     * @param @param  updateInfoString
     * @param @return 设定文件
     * @return boolean    返回类型
     * @throws
     * @Title: updateUserInfo
     * @Description: TODO(更新用户信息)
     */
    public String updateUserInfo(String updateInfoString);

    /**
     * @param @param  updateListString
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: updateFocusList
     * @Description: TODO(更新关注列表)
     */
    public String updateFocusList(String updateListString);

    /**
     * @param updateListString
     * @return
     * @Description: TODO(更新关注列表，新接口)
     */
    public String updateFocusListNew(String updateListString);

    /**
     * @param @param  userId
     * @param @param  pageNumber
     * @param @param  pageSize
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: getReplyString
     * @Description: TODO(获取回复列表)
     */
    public String getReplyString(int userId, int pageNumber, int pageSize);

    /**
     * @param @param  userId
     * @param @param  pageNumber
     * @param @param  pageSize
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: getPraiseString
     * @Description: TODO(获取点赞列表信息数据)
     */
    public String getPraiseString(int userId, int pageNumber, int pageSize);

    /**
     * @param @param  userId
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: getSystemMessage
     * @Description: TODO(获取系统消息)
     */
    public String getSystemMessage(int userId);

    /**
     * @param @param  updatePasswdString
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: updatePasswd
     * @Description: TODO(更新密码)
     */
    public String updatePasswd(String updatePasswdString);

    /**
     * @param @param  feedbackString
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: feedback
     * @Description: TODO(用户反馈)
     */
    public String feedback(String feedbackString);

    /**
     * @param @param  collectString
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: doCollect
     * @Description: TODO(记录用户收藏)
     */
    public String doCollect(String collectString);

    /**
     * @param @param  userId
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: getCollectList
     * @Description: TODO(获取用户收藏列表)
     */
    public String getCollectList(int userId, int pageNumber);


    /**
     * @param userId
     * @param secondType
     * @param pageNumber
     * @return
     * @Description: TODO(根据二级分类ID获取用户收藏中特定的二级分类的文章)
     */
    public String getSecondTypeCollectList(int userId, int secondType, int pageNumber);


    /**
     * @param @param  userId
     * @param @param  deleteList
     * @param @return 设定文件
     * @return String    返回类型
     * @throws
     * @Title: delCollect
     * @Description: TODO(登陆用户删除收藏)
     */
    public String delCollect(int userId, String deleteList);


    /**
     * 得到用户消息状态
     *
     * @param userId
     * @return
     */
    public String getMessage(int userId);

    /**
     * 检测用户输入的手机号或者邮箱号是否已经被注册
     *
     * @param registerInfo
     * @return
     */
    public boolean checkRegister(String registerInfo);

    /**
     * 忘记密码
     *
     * @param telnumber
     * @return
     */
    public boolean forgetPass(String telnumber, String newPassword);

}
